home *** CD-ROM | disk | FTP | other *** search
- ## Here is an example for Gentoo ebuilds/eclasses
- ##
- syntax "ebuild" "\.e(build|class)$"
- ## All the standard portage functions
- color brightgreen "^src_(unpack|prepare|configure|compile|install|test)" "^pkg_(config|nofetch|setup|(pre|post)(inst|rm))"
- ## Highlight bash related syntax
- color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while|continue|break)\>"
- color green "\<(declare|eval|exec|let)\>"
- color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
- color green "-[edfgruwxL]\>"
- color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
- ## Highlight variables ... official portage ones in red, all others in bright red
- color brightred "\$\{?[a-zA-Z_0-9]+\}?"
- color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|(P|R)?DEPEND|PROVIDE|PROPERTIES|RESTRICT|USERLAND)\>"
- color red "\<(S|D|T|PV|PF|P|PN|PR|PVR|A|CATEGORY|DISTDIR|FILESDIR|ROOT|WORKDIR)\>" "\<(AS|C(PP|XX)?|LD)FLAGS\>" "\<C(HOST|TARGET|BUILD)\>"
- color red "\<QA_((TEXTRELS|EXECSTACK|WX_LOAD)(_[a-zA-Z_0-9]+)?|DT_HASH|PRESTRIPPED)\>" "\<WANT_AUTO(CONF|MAKE)\>" "\<AT_M4DIR\>"
- ## Highlight portage commands
- color magenta "\<use(_(with|enable))?\> [!a-zA-Z0-9_+ -]*" "inherit.*"
- color brightblue "\<e(begin|end|conf|install|make|qmake[34]|ant|(qa)?warn|infon?|error|log|patch|new(group|user))\>"
- color brightblue "\<e(pause|beep|mktemp|(cvs|svn)_clean|punt_cxx)\>" "\<e(aclocal|auto(reconf|header|conf|make))\>"
- color brightblue "\<built_with_use\>" "\<make_desktop_entry\>" "\<unpack(_(makeself|pdv))?\>"
- color brightblue "\<die\>" "\<use(_(with|enable))?\>" "\<inherit\>" "\<has\>" "\<(has|best)_version\>"
- color brightblue "\<(do|new)(ins|(games)?s?bin|doc|lib(\.so|\.a)?|man|info|exe|initd|confd|envd|pam|menu|icon)\>"
- color brightblue "\<do(python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>"
- color brightblue "prepall(docs|info|man|strip)?" "prep(info|lib|lib\.(so|a)|man|strip|gamesdirs)"
- color brightblue "\<(doc|ins|exe)?into\>" "\<(f|games)(owners|perms)\>" "\<(exe|ins|dir)opts\>"
- ## Highlight common commands used in ebuilds
- color blue "\<make\>" "\<(awk|cat|cd|chmod|chown|cp|echo|env|export|find|e?grep|ln|mkdir|mv|rm|sed|set|tar|touch|unset|xargs)\>"
- ## Highlight comments (doesnt work that well)
- color yellow "(^|[[:space:]])#.*$"
- ## Highlight strings (doesnt work that well)
- color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'"
- ## Trailing space is bad!
- color ,green "[[:space:]]+$"
-
- ## Here is an example for Portage control files
- ##
- syntax "/etc/portage" "\.(keywords|mask|unmask|use)(/.+)?$"
- ## Base text:
- color green "^.+$"
- ## Use flags:
- color brightred "[[:space:]]+\+?[a-zA-Z0-9_-]+"
- color brightblue "[[:space:]]+-[a-zA-Z0-9_-]+"
- ## Likely version and slot numbers:
- color magenta "-[[:digit:]].*([[:space:]]|$)"
- color magenta ":[^[:space:]]+([[:space:]]|$)"
- ## Accepted arches:
- color white "[~-]?\<(alpha|amd64|arm|hppa|ia64|mips|ppc|ppc64|s390|sh|sparc(-fbsd)?|x86(-fbsd)?)\>"
- color white "[[:space:]][*~-]?\*"
- ## Categories:
- color cyan "^[[:space:]]*.*/"
- ## Masking regulators:
- color brightmagenta "^[[:space:]]*(=|~|<|<=|=<|>|>=|=>)"
- ## Comments:
- color yellow "#.*$"
-